package com.zhangbo.share.bean;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author zhangbo
 * @version 1.00
 * @classdesc <pre></pre>
 * @create 2021/12/23 10:06
 * @update <pre>
 *     版本           修改人         修改日期         修改内容描述
 *     -----------------------------------------------------------
 *     1.00           zhangbo     2021/12/23 10:06
 *     -----------------------------------------------------------
 * </pre>
 */
@Data
public class BaffleRule implements Serializable {

    private static final long serialVersionUID = 1719847618743891189L;

    /**
     * type=ID类型时，生成的ID前缀
     */
    private String idPrefix;

    /**
     * type=ID类型时，生成的ID长度（不含前缀长度）
     */
    private Integer idLength;

    /**
     * type=Param类型时，返回的参数名称，多级用.隔开，如：person.name
     */
    private String returnParamName;

    /**
     * type=Enum时，返回的枚举类型指定的美剧值，随机获取
     */
    private List<String> enumValues;

    /**
     * type=Date时，返回的日期类型格式构建规则，如：yyyy-MM-dd或yyyy-MM-20,或：yyyy-MM-dd HH:mm:ss等
     */
    private String baseDate;


    /**
     * type=Date时，日期递增单位，如：DAY、MONTH、YEAR分别表示在基础日期上递增的单位
     */
    private String dateAddType;

    /**
     * type=Date时，日期递增值，与dateAddType结合使用，如baseDate为yyyy-MM-20，dateAddType=DAY，dateIncrement=1，则第一个生成出来的日期为：yyyy-MM-21
     */
    private Integer dateIncrement;

}
